.TH KVAZAAR "1" "July 2019" "kvazaar v1.3.0" "User Commands"
.SH NAME
kvazaar \- open source HEVC encoder
.SH SYNOPSIS
\fBkvazaar \fR\-i <input> \-\-input\-res <width>x<height> \-o <output>
.SH DESCRIPTION
.TP
\fB\-i\fR, \fB\-\-input <filename>    
Input file
.TP
\fB\-\-input\-res <res>     
Input resolution [auto]
    \- auto: Detect from file name.
    \- <int>x<int>: width times height
.TP
\fB\-o\fR, \fB\-\-output <filename>   
Output file

.SS "Presets:"
.TP
\fB\-\-preset <preset>     
Set options to a preset [medium]
    \- ultrafast, superfast, veryfast, faster,
      fast, medium, slow, slower, veryslow
      placebo

.SS "Input:"
.TP
\fB\-n\fR, \fB\-\-frames <integer>    
Number of frames to code [all]
.TP
\fB\-\-seek <integer>      
First frame to code [0]
.TP
\fB\-\-input\-fps <num>[/<denom>]
Frame rate of the input video [25]
.TP
\fB\-\-source\-scan\-type <string>
Source scan type [progressive]
    \- progressive: Progressive scan
    \- tff: Top field first
    \- bff: Bottom field first
.TP
\fB\-\-input\-format <string>
P420 or P400 [P420]
.TP
\fB\-\-input\-bitdepth <int>
8\-16 [8]
.TP
\fB\-\-loop\-input          
Re\-read input file forever.

.SS "Options:"
.TP
\fB\-\-help                
Print this help message and exit.
.TP
\fB\-\-version             
Print version information and exit.
.TP
\fB\-\-(no\-)aud            
Use access unit delimiters. [disabled]
.TP
\fB\-\-debug <filename>    
Output internal reconstruction.
.TP
\fB\-\-(no\-)cpuid          
Enable runtime CPU optimizations. [enabled]
.TP
\fB\-\-hash <string>       
Decoded picture hash [checksum]
    \- none: 0 bytes
    \- checksum: 18 bytes
    \- md5: 56 bytes
.TP
\fB\-\-(no\-)psnr           
Calculate PSNR for frames. [enabled]
.TP
\fB\-\-(no\-)info           
Add encoder info SEI. [enabled]
.TP
\fB\-\-crypto <string>     
Selective encryption. Crypto support must be
enabled at compile\-time. Can be 'on' or 'off' or
a list of features separated with a '+'. [off]
    \- on: Enable all encryption features.
    \- off: Disable selective encryption.
    \- mvs: Motion vector magnitudes.
    \- mv_signs: Motion vector signs.
    \- trans_coeffs: Coefficient magnitudes.
    \- trans_coeff_signs: Coefficient signs.
    \- intra_pred_modes: Intra prediction modes.
.TP
\fB\-\-key <string>        
Encryption key [16,213,27,56,255,127,242,112,
                97,126,197,204,25,59,38,30]

.SS "Video structure:"
.TP
\fB\-q\fR, \fB\-\-qp <integer>        
Quantization parameter [22]
.TP
\fB\-p\fR, \fB\-\-period <integer>    
Period of intra pictures [64]
    \- 0: Only first picture is intra.
    \- 1: All pictures are intra.
    \- N: Every Nth picture is intra.
.TP
\fB\-\-vps\-period <integer>
How often the video parameter set is re\-sent [0]
    \- 0: Only send VPS with the first frame.
    \- N: Send VPS with every Nth intra frame.
.TP
\fB\-r\fR, \fB\-\-ref <integer>       
Number of reference frames, in range 1..15 [4]
.TP
\fB\-\-gop <string>        
GOP structure [8]
    \- 0: Disabled
    \- 8: B\-frame pyramid of length 8
    \- lp\-<string>: Low\-delay P\-frame GOP
      (e.g. lp\-g8d4t2, see README)
.TP
\fB\-\-(no\-)open\-gop
Use open GOP configuration. [enabled]
.TP
\fB\-\-cqmfile <filename>  
Read custom quantization matrices from a file.
.TP
\fB\-\-scaling-list <string>
Set scaling list mode. [off]
    \- off: Disable scaling lists.
    \- custom: use custom list (with \-\-cqmfile).
    \- default: Use default lists.
.TP
\fB\-\-bitrate <integer>   
Target bitrate [0]
    \- 0: Disable rate control.
    \- N: Target N bits per second.
.TP
\fB\-\-(no\-)lossless       
Use lossless coding. [disabled]
.TP
\fB\-\-mv\-constraint <string>
Constrain movement vectors. [none]
    \- none: No constraint
    \- frametile: Constrain within the tile.
    \- frametilemargin: Constrain even more.
.TP
\fB\-\-roi <filename>      
Use a delta QP map for region of interest.
Reads an array of delta QP values from a text
file. The file format is: width and height of
the QP delta map followed by width*height delta
QP values in raster order. The map can be of any
size and will be scaled to the video size.
.TP
\fB\-\-set\-qp\-in\-cu        
Set QP at CU level keeping pic_init_qp_minus26.
in PPS and slice_qp_delta in slize header zero.
.TP
\fB\-\-(no\-)erp\-aqp        
Use adaptive QP for 360 degree video with
equirectangular projection. [disabled]
.TP
\fB\-\-level <number>      
Use the given HEVC level in the output and give
an error if level limits are exceeded. [6.2]
    \- 1, 2, 2.1, 3, 3.1, 4, 4.1, 5, 5.1, 5.2, 6,
      6.1, 6.2
.TP
\fB\-\-force\-level <number>
Same as \-\-level but warnings instead of errors.
.TP
\fB\-\-high\-tier           
Used with \-\-level. Use high tier bitrate limits
instead of the main tier limits during encoding.
High tier requires level 4 or higher.

.SS "Compression tools:"
.TP
\fB\-\-(no\-)deblock <beta:tc>
Deblocking filter. [0:0]
    \- beta: Between \-6 and 6
    \- tc: Between \-6 and 6
.TP
\fB\-\-sao <string>        
Sample Adaptive Offset [full]
    \- off: SAO disabled
    \- band: Band offset only
    \- edge: Edge offset only
    \- full: Full SAO
.TP
\fB\-\-(no\-)rdoq           
Rate\-distortion optimized quantization [enabled]
.TP
\fB\-\-(no\-)rdoq\-skip      
Skip RDOQ for 4x4 blocks. [disabled]
.TP
\fB\-\-(no\-)signhide       
Sign hiding [disabled]
.TP
\fB\-\-(no\-)smp            
Symmetric motion partition [disabled]
.TP
\fB\-\-(no\-)amp            
Asymmetric motion partition [disabled]
.TP
\fB\-\-rd <integer>        
Intra mode search complexity [0]
    \- 0: Skip intra if inter is good enough.
    \- 1: Rough intra mode search with SATD.
    \- 2: Refine intra mode search with SSE.
    \- 3: Try all intra modes and enable intra
         chroma mode search.
.TP
\fB\-\-(no\-)mv\-rdo         
Rate\-distortion optimized motion vector costs
[disabled]
.TP
\fB\-\-(no\-)full\-intra\-search
Try all intra modes during rough search.
[disabled]
.TP
\fB\-\-(no\-)transform\-skip 
Try transform skip [disabled]
.TP
\fB\-\-me <string>         
Integer motion estimation algorithm [hexbs]
    \- hexbs: Hexagon Based Search
    \- tz:    Test Zone Search
    \- full:  Full Search
    \- full8, full16, full32, full64
    \- dia:   Diamond Search
.TP
\fB\-\-me\-steps <integer>  
Motion estimation search step limit. Only
affects 'hexbs' and 'dia'. [\-1]
.TP
\fB\-\-subme <integer>     
Fractional pixel motion estimation level [4]
    \- 0: Integer motion estimation only
    \- 1: + 1/2\-pixel horizontal and vertical
    \- 2: + 1/2\-pixel diagonal
    \- 3: + 1/4\-pixel horizontal and vertical
    \- 4: + 1/4\-pixel diagonal
.TP
\fB\-\-pu\-depth\-inter <int>\-<int>
Inter prediction units sizes [0\-3]
    \- 0, 1, 2, 3: from 64x64 to 8x8
.TP
\fB\-\-pu\-depth\-intra <int>\-<int>
Intra prediction units sizes [1\-4]
    \- 0, 1, 2, 3, 4: from 64x64 to 4x4
.TP
\fB\-\-tr\-depth\-intra <int>
Transform split depth for intra blocks [0]
.TP
\fB\-\-(no\-)bipred         
Bi\-prediction [disabled]
.TP
\fB\-\-cu\-split\-termination <string>
CU split search termination [zero]
    \- off: Don't terminate early.
    \- zero: Terminate when residual is zero.
.TP
\fB\-\-me\-early\-termination <string>
Motion estimation termination [on]
    \- off: Don't terminate early.
    \- on: Terminate early.
    \- sensitive: Terminate even earlier.
.TP
\fB\-\-fast\-residual\-cost <int>
Skip CABAC cost for residual coefficients
    when QP is below the limit. [0]
.TP
\fB\-\-(no\-)intra\-rdo\-et   
Check intra modes in rdo stage only until
a zero coefficient CU is found. [disabled]
.TP
\fB\-\-(no\-)early\-skip     
Try to find skip cu from merge candidates.
Perform no further search if skip is found.
For rd=0..1: Try the first candidate.
For rd=2.. : Try the best candidate based
             on luma satd cost. [enabled]
.TP
\fB\-\-max\-merge <integer> 
Maximum number of merge candidates, 1..5 [5]
.TP
\fB\-\-(no\-)implicit\-rdpcm 
Implicit residual DPCM. Currently only supported
with lossless coding. [disabled]
.TP
\fB\-\-(no\-)tmvp           
Temporal motion vector prediction [enabled]

.SS "Parallel processing:"
.TP
\fB\-\-threads <integer>   
Number of threads to use [auto]
    \- 0: Process everything with main thread.
    \- N: Use N threads for encoding.
    \- auto: Select automatically.
.TP
\fB\-\-owf <integer>       
Frame\-level parallelism [auto]
    \- N: Process N+1 frames at a time.
    \- auto: Select automatically.
.TP
\fB\-\-(no\-)wpp            
Wavefront parallel processing. [enabled]
Enabling tiles automatically disables WPP.
To enable WPP with tiles, re\-enable it after
enabling tiles. Enabling wpp with tiles is,
however, an experimental feature since it is
not supported in any HEVC profile.
.TP
\fB\-\-tiles <int>x<int>   
Split picture into width x height uniform tiles.
.TP
\fB\-\-tiles\-width\-split <string>|u<int>
    \- <string>: A comma\-separated list of tile
                column pixel coordinates.
    \- u<int>: Number of tile columns of uniform
              width.
.TP
\fB\-\-tiles\-height\-split <string>|u<int>
    \- <string>: A comma\-separated list of tile row
                column pixel coordinates.
    \- u<int>: Number of tile rows of uniform
              height.
.TP
\fB\-\-slices <string>     
Control how slices are used.
    \- tiles: Put tiles in independent slices.
    \- wpp: Put rows in dependent slices.
    \- tiles+wpp: Do both.

.SS "Video Usability Information:"
.TP
\fB\-\-sar <width:height>  
Specify sample aspect ratio
.TP
\fB\-\-overscan <string>   
Specify crop overscan setting [undef]
    \- undef, show, crop
.TP
\fB\-\-videoformat <string>
Specify video format [undef]
    \- undef, component, pal, ntsc, secam, mac
.TP
\fB\-\-range <string>      
Specify color range [tv]
    \- tv, pc
.TP
\fB\-\-colorprim <string>  
Specify color primaries [undef]
    \- undef, bt709, bt470m, bt470bg,
      smpte170m, smpte240m, film, bt2020
.TP
\fB\-\-transfer <string>   
Specify transfer characteristics [undef]
    \- undef, bt709, bt470m, bt470bg,
      smpte170m, smpte240m, linear, log100,
      log316, iec61966\-2\-4, bt1361e,
      iec61966\-2\-1, bt2020\-10, bt2020\-12
.TP
\fB\-\-colormatrix <string>
Specify color matrix setting [undef]
    \- undef, bt709, fcc, bt470bg, smpte170m,
      smpte240m, GBR, YCgCo, bt2020nc, bt2020c
.TP
\fB\-\-chromaloc <integer> 
Specify chroma sample location (0 to 5) [0]
